package com.itheima.edu.info.manager.dao;

import com.itheima.edu.info.manager.domain.Student;


public class StudentDao {
   private static Student[]stus=new Student[5];
    /**(库管真正实现增加删除操作的)
     * 添加方法
     *1 创建学生对象数组
     * 2 添加学生到数组中
     * 3 定义变量index为-1 假设数组已经全部存满 没有null的元素
     * 4 便利取出每一个元素 判断是否为null
     * 5 如果是null让index变量记录当前索引位置,病使用break结束循环
     * 6 返回是否添加成功Boolean类型的状态
     */
    public static boolean addStudent(Student stu) {

        int index=-1;
        for (int i = 0; i < stus.length; i++) {
            Student student = stus[i];
            if (student==null){
                index=i;
                break;
            }
        }
        if (index==-1){
            return false;
        }else {
            stus[index]=stu;
            return true;
        }
    }

    public Student[] findAllStudent() {
        return stus;
    }

    /**
     * 删除学生
     * @param delId
     * 查找id在容器中所载的索引位置
     * 建该索引位置使用null元素进行覆盖
     */
    public void deleteStudentById(String delId) {
        int index = getIndex(delId);
        stus[index]=null;
    }

    /**
     * 根据id找索引位置
     * @param id
     * @return
     */
    public int getIndex(String id){
        int index=-1;
        for (int i = 0; i < stus.length; i++) {
            Student stu = StudentDao.stus[i];
            if (stu!=null&&stu.getId().equals(id)){
                index=i;
                break;
            }
        }
        return index;
    }

    /**
     * 修改学生
     * @param updateId
     * @param newStu
     * 查找updateId在容器中的索引位置
     * 将所以位置使用新的学生对象进行替换
     */
    public void updateStudent(String updateId, Student newStu) {
        int index = getIndex(updateId);
        stus[index]=newStu;
    }
}
